<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>默认参数</title>
</head>
<body>
<h3>函数传参-参数默认值</h3>
<p>
    用户不输入实参，可以给 形参默认值
</p>
<p>
    说明：这个默认值只会在缺少实参参数传递时 才会被执行 <br>
    所以有参数会优先执行传递过来的实参, 否则默认为 undefined 输出的结果是 NaN<br>
</p>
<hr>

<script>
    function 累计和(开始数 = 1, 结束数 = 100) { // 2个形参, 设置默认值
        let 和 = 0
        for (let i = 开始数; i <= 结束数; i++) {
            和 += i
        }
        console.log(和) // 输出控制台
    }

    // 调用函数
    累计和(100, 101)
    累计和() // 没有传参, 函数会执行默认的参数

    /* ---- 案例: 函数封装, 数组求和 -----*/

    // 定义函数, 并且设置参数的默认值
    function 数组求和(数组 = []) { //默认是一个空间数组
        let 和 = 0
        for (let i = 0; i < 数组.length; i++) {
            和 += 数组[i]
        }
        console.log(和) //输出控制台
    }

    // 调用函数, 将一个数组作为参数 传参
    数组求和([1, 2, 3, 4, 5])
    数组求和([11, 22, 33, 'a', '孙新罡']) // 66a孙新罡
    数组求和()  // 0
</script>
</body>
</html>